package com.zaimokuza.cn.service;

import com.zaimokuza.cn.entity.ChartData;
import com.zaimokuza.cn.entity.statistics.ManageStatisticsData;
import com.zaimokuza.cn.entity.statistics.UserStatisticsData;

import java.util.ArrayList;

/**
 * @author zaimokuza
 */
public interface StatisticsService {

    /**
     * 统计用户相关数据
     *
     * @param date 日期
     */
    void statisticUserData(String date);

    /**
     * 统计管理端相关数据
     *
     * @param date 日期
     */
    void statisticManageData(String date);

    /**
     * 获取用户相关统计信息
     *
     * @param interval 统计间隔
     * @return 用户统计信息列表
     */
    ArrayList<UserStatisticsData> getUserStatisticsData(Integer interval);

    /**
     * 根据日期获取网站相关统计信息
     *
     * @param date 日期
     * @return 网站相关统计信息
     */
    ManageStatisticsData getManageStatisticsData(String date);

    /**
     * 根据日期和时间间隔查询登录率集合
     *
     * @param date     日期
     * @param interval 时间间隔
     * @return 登录率集合
     */
    ArrayList<ChartData> getLoginRateList(String date, Integer interval);

}
